/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.upn.sigemfi.gar.beans;

import edu.upn.sigemfi.gar.bc.EmpleadoDelegate;
import edu.upn.sigemfi.gar.bc.TasadorDelegate;
import edu.upn.sigemfi.gar.be.Tasador;
import edu.upn.sigemfi.seg.be.Empleado;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Freddy
 */
public class TasadorController extends AbstractController{

    private Tasador tasador;
    private TasadorDelegate delegado;
    private EmpleadoDelegate delegadoEmpleado;
    private Empleado empleado;

    public TasadorController(){
        delegado=new TasadorDelegate();
        delegadoEmpleado = new EmpleadoDelegate();
    }

    public Empleado getEmpleado() {
        return empleado;
    }

    public void setEmpleado(Empleado empleado) {
        this.empleado = empleado;
    }

    public Tasador getTasador() {
        return tasador;
    }

    public void setTasador(Tasador tasador) {
        this.tasador = tasador;
    }

    public String nuevoTasador() {
        tasador = new Tasador();
        return "nuevo";
    }

    public List<Empleado> getTasadores() throws Exception{
        try{
            List<Tasador> tasadores = delegado.listar();
            List<Empleado> empleados = new ArrayList<Empleado>();
            for (Tasador t : tasadores)
            {
                Empleado emp = delegadoEmpleado.buscar(t.getFidPersonaNatural());
                empleados.add(emp);
            }
            return empleados;
        }catch (Exception ex){
            ex.printStackTrace();
        }
        return null;
    }

    public String registrarTasador(){
        try{
            tasador.setFidPersonaNatural(empleado.getIdPersona());
            delegado.crear(tasador);
            info("El Tasador se registró correctamente");
        }catch(Exception ex){
            error(ex.getMessage());
        }
        return "listar";
    }

    public String eliminarTasador(){
        try{
            tasador.setFidPersonaNatural(empleado.getIdPersona());
            delegado.eliminar(tasador);
            info("El Tasador se eliminó correctamente");
        }catch(Exception ex){
            error("El Tasador a eliminar esta relacionado a ciertas garantias");
        }
        return "";
    }
}
